import router from '@/router'
import axios from 'axios'
import { ElMessage } from 'element-plus'

const instance = axios.create({
  baseURL: 'http://localhost:8080/api',
  timeout: 5000,
  // headers: { 'X-Custom-Header': 'foobar' },
  withCredentials: true, // 允许跨域请求携带 cookie
})

// 添加请求拦截器
// 添加请求拦截器
instance.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什

    return config
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
  },
)

// 添加响应拦截器
instance.interceptors.response.use(
  function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么

    if (response.data.code === 200) {
      // ElMessage({
      //   message: response.data.msg || '请求成功',
      //   type: 'success',
      // })
      return response
    }
    ElMessage({
      message: response.data.msg || '服务异常',
      type: 'error',
    })

    return Promise.reject(response.data)
  },
  function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    
    ElMessage({
      message: error.response?.data.msg || '服务异常',
      type: 'error',
    })
    console.log(error)

    return Promise.reject(error)
  },
)
// 导出实例
export default instance
